#ifndef MEASUREMENT_H_
#define MEASUREMENT_H_
#include <iostream>
#include <string>


template <typename Unit>
struct Measurement
{
    Measurement(unsigned int amount, const Unit* unit);

	bool operator == (const Measurement<Unit>& second) const;
	bool operator != (const Measurement<Unit>& second) const;
	Measurement<Unit> operator + (const Measurement<Unit>& second) const;
	//unsigned int operator / (const Measurement& second) const;

	std::string outputString();

private:
	explicit Measurement(unsigned int amountInBase);

	unsigned int amountInBase;
	const Unit*  unit;
};


#endif
